
// 每个 JavaScript 函数 实际上都是一个 Function 对象(instance-level)
// 翻译一下:
// 每个 JavaScript 函数 实际上都是 Function对象(class-level) 的一个实例(instance)

function test(){
    console.log( '不知道你们为什么总把test写成text、把text写成test' );
}

console.log( test.constructor === Function ); // true

console.log( '- - - - - - - - - - - - - - - - - - - - -' );

let hello = new Function( 'console.log( "不晓得..." )' ) ; 
console.log( hello.constructor === Function ); // true

console.log( '- - - - - - - - - - - - - - - - - - - - -' );

function BoyFriend( name ){
    this.name = name ;
}

console.log( BoyFriend.constructor === Function ); // true

console.log( '- - - - - - - - - - - - - - - - - - - - -' );

class GirlFriend {
}

console.log( GirlFriend.constructor === Function ); // true

console.log( '- - - - - - - - - - - - - - - - - - - - -' );

// 构造函数 Function 的最后一个参数表示将来创建的函数的函数体，
// 最后一个参数之前的所有参数都是将来所创建函数的形参名称
let sum = new Function( 'a' , 'b' , 'c' , 'return a + b + c ;' );

let result = sum( 1 , 2 , 3 );
console.log( result );

console.log( sum.name ); // anonymous